# CHIPSEC: Platform Security Assessment Framework
# Copyright (c) 2023, Intel Corporation
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; Version 2.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
# Contact information:
# chipsec@intel.com
#

BOUNDARY_1KB = 0x400
BOUNDARY_2KB = 0x800
BOUNDARY_4KB = 0x1000
BOUNDARY_1MB = 0x100000
BOUNDARY_2MB = 0x200000
BOUNDARY_4MB = 0x400000
BOUNDARY_8MB = 0x800000
BOUNDARY_16MB = 0x1000000
BOUNDARY_32MB = 0x2000000
BOUNDARY_64MB = 0x4000000
BOUNDARY_128MB = 0x8000000
BOUNDARY_256MB = 0x10000000
BOUNDARY_512MB = 0x20000000
BOUNDARY_1GB = 0x40000000
BOUNDARY_2GB = 0x80000000
BOUNDARY_4GB = 0x100000000

ALIGNED_4KB = 0xFFF
ALIGNED_1MB = 0xFFFFF
ALIGNED_8MB = 0x7FFFFF
ALIGNED_64MB = 0x3FFFFFF
ALIGNED_128MB = 0x7FFFFFF
ALIGNED_256MB = 0xFFFFFFF

SIZE_64B = 0x40
SIZE_4KB = 0x1000
SIZE_8KB = 0x2000
SIZE_16KB = 0x4000
SIZE_32KB = 0x8000
SIZE_64KB = 0x10000
SIZE_256KB = 0x40000
SIZE_512KB = 0x80000
SIZE_1MB = 0x100000
SIZE_2MB = 0x200000
SIZE_3MB = 0x300000
SIZE_4MB = 0x400000
SIZE_8MB = 0x800000
SIZE_12MB = 0xC00000
SIZE_16MB = 0x1000000
SIZE_20MB = 0x1400000
SIZE_24MB = 0x1800000
SIZE_28MB = 0x1C00000
SIZE_32MB = 0x2000000
SIZE_36MB = 0x2400000
SIZE_40MB = 0x2800000
SIZE_44MB = 0x2C00000
SIZE_48MB = 0x3000000
SIZE_52MB = 0x3400000
SIZE_56MB = 0x3800000
SIZE_60MB = 0x3C00000
SIZE_64MB = 0x4000000
SIZE_96MB = 0x6000000
SIZE_128MB = 0x8000000
SIZE_160MB = 0xA000000
SIZE_192MB = 0xC000000
SIZE_224MB = 0xE000000
SIZE_256MB = 0x10000000
SIZE_288MB = 0x12000000
SIZE_320MB = 0x14000000
SIZE_352MB = 0x16000000
SIZE_384MB = 0x18000000
SIZE_416MB = 0x1A000000
SIZE_448MB = 0x1C000000
SIZE_480MB = 0x1E000000
SIZE_512MB = 0x20000000
SIZE_1GB = 0x40000000
SIZE_1_5GB = 0x60000000
SIZE_2GB = 0x80000000
SIZE_4GB = 0x100000000
SIZE_64TB = 0x400000000000

MASK_8b = 0xFF
MASK_16b = 0xFFFF
MASK_32b = 0xFFFFFFFF
MASK_64b = 0xFFFFFFFFFFFFFFFF
